package cn.wolfcode.luowowo.article.query;

import lombok.Getter;

import java.util.HashMap;
import java.util.Map;

/**
 * 游记查询范围条件
 * 小技巧:
 *      当页面传递过来的是某个范围的值,比如页面上显示,4-10天  或者  15天-20天, 我们要怎么确定他们选择的是哪个值呢?
 *      并且他们选定的是一个区间,这样我们应该怎样去进行判断呢?if-else?
 *      首先创建一个出行天数类
 *      然后设置  min 和 max 2个属性,
 *      我们选用map集合这样更方便,把他们的选择区间
 *      用一个变量代替,并作为为key,
 *      比如4-10天,作为第一个选项,那么key为1,value值创建一个出行天数对象(4,10)
 *      比如15-20天,作为第二个选项,那么key为2,value值创建一个出行天数对象(15,20)
 *      这样就我们通过页面传递过来的 1 和 2  然后作为key获取相对应的value值就可以了
 */
@Getter
public class TravelCondition {

    public static final Map<Integer,TravelCondition> TRAVEL_PER_EXPEND= new HashMap<>();//人均消费map集合
    public static final Map<Integer, TravelCondition> TRAVEL_TIME= new HashMap<>(); //旅游出发时间月份
    public static final Map<Integer, TravelCondition> TRAVEL_DAYS = new HashMap<>(); //旅游天数


    static{
        //人均消费map 初始化
        TRAVEL_PER_EXPEND.put(1, new TravelCondition(1, 999));
        TRAVEL_PER_EXPEND.put(2, new TravelCondition(1000, 6000));
        TRAVEL_PER_EXPEND.put(3, new TravelCondition(6001, 20000));
        TRAVEL_PER_EXPEND.put(4, new TravelCondition(20000, Integer.MAX_VALUE));

        //旅游天数
        //TRAVEL_DAYS.put(-1, new TravelCondition(-1, Integer.MAX_VALUE));
        TRAVEL_DAYS.put(1, new TravelCondition(0, 3));
        TRAVEL_DAYS.put(2, new TravelCondition(4, 7));
        TRAVEL_DAYS.put(3, new TravelCondition(8, 14));
        TRAVEL_DAYS.put(4, new TravelCondition(15,Integer.MAX_VALUE));

        //旅游出发时间月份
        //TRAVEL_TIME.put(-1, new TravelCondition(1, 12));
        TRAVEL_TIME.put(1, new TravelCondition(1, 2));
        TRAVEL_TIME.put(2, new TravelCondition(3, 4));
        TRAVEL_TIME.put(3, new TravelCondition(5, 6));
        TRAVEL_TIME.put(4, new TravelCondition(7, 8));
        TRAVEL_TIME.put(5, new TravelCondition(9, 10));
        TRAVEL_TIME.put(6, new TravelCondition(11, 12));





    }


    private int min;
    private int max;


    public TravelCondition(int min, int max){
        this.min = min;
        this.max = max;
    }



}
